When network access devices (e.g. workstations, Personal Computers) connect to a network service provider on a network to exchange data, they need an IP address. Dynamic Host Configuration Protocol (DHCP) is a protocol configuring IP addresses to network access devices. For example, when a computer is powered on, firstly it uses DHCP to obtain an IP address and some necessary information, such as Domain Name System (DNS) information, routing information, etc. The servers that use DHCP to configure the IP addresses are known as DHCP servers and the network access devices are DHCP clients.
FIG. 1 shows an exemplary format of a conventional DHCP message. As shown in FIG. 1, the DHCP message comprises a ciaddr field, xid field, yiaddr field, siaddr field, giaddr field, chaddr field, and an option field. Usually, there are eight types of DHCP messages altogether: DHCPDISCOVER, DHCPOFFER, DHCPREQUEST, DHCPACK, DHCPNAK, DHCPRELEASE, DHCPDECLINE, and DHCPINFORM. And the type of each DHCP message is encoded within the option field.
FIG. 2 shows how IP address allocation is performed between DHCP servers and a DHCP client. As shown in FIG. 2, the process is carried out by several DHCP messages over several stages:
Discover: the DHCP client broadcasts a DHCPDISCOVER message on its local physical network to discover a DHCP server.
Offer: this is a stage where DHCP servers offer IP addresses. After receiving the DHCPDISCOVER message sent by the DHCP client, each DHCP server on the network responds with a DHCPOFFER message which contains an available IP address in the ‘yiaddr’ field of the message packet and other configuration information. The available IP address is selected from the pool of addresses available at that time.
Request: the DHCP client chooses one DHCPOFFER, usually the first DHCPOFFER message it receives, and broadcasts a DHCPREQUEST message which contains the IP address from a DHCP server, indicating that the DHCP server providing the IP address has been selected.
ACKnowledgement: the selected DHCP server responds with a DHCPACK message containing the IP address and the configuration parameters for the requesting client and informs the requesting client of the availability of the IP address.
When the DHCP client receives the DHCP ACK message, it binds the allocated IP address to its network card and uses this address to exchange packets with the network service provider on the network.
Transmission of television over an Internet Protocol network (‘IPTV’) has developed in recent years and is a competitive application compared to traditional TV transmission systems. IPTV uses an IP based distribution platform to deliver digital services to home network end devices. Such kind of home network end devices can include set top boxes, etc.
FIG. 3 is the architecture of a conventional IPTV network provisioning system 30. Such a system 30 usually comprises one Network Service Provider Server 31 which is in charge of network provisioning, a plurality of Home Network End Devices (HNEDs) 33 (DHCP clients), one or more DHCP servers 32 which use dynamic host configuration protocol to allocate IP address to HNEDs (i.e. DHCP clients) 33.
Usually the DHCP servers 32 and the Network Service Provider server 31 in the network architecture of FIG. 2 can work smoothly. However, for example, when a power failure occurs, and after the power failure recovery, all the HNEDs on the network may send their requests to register with the DHCP server at startup, and thus cause congestion. In such a situation, there will be a lot of HNEDs that fail to connect and register successfully with the server, which causes the IPTV service not being provided properly or at least not fast enough in these devices.